package com.aaa.dem1103.d01;

/**
 * @Author: whj
 * @Version 1.0
 * @Date: 2022/11/3  9:28
 */
public class Test {
    public static void main(String[] args) {
        /*
        * 方法一
        * */
        //构造函数需要传递一个Runnable target类型的参数。而Runnable它是一个接口。
        MyRunnable myRunnable=new MyRunnable();
        Thread t=new Thread(myRunnable);
        t.start();

        /*
         * 方法二
         * */
        //使用匿名内部类
        Runnable runnable=new Runnable() {
            @Override
            public void run() {
                System.out.println("~~~~这是匿名内部类");
            }
        };
        Thread t2=new Thread(runnable);
        t2.start();

        /*
         * 方法三
         * */
        //lambda表达式 没有关注方法的名称 以及方法的返回类型 --lambda表示不会生成字节码文件
        Runnable r=()->{
            System.out.println("这是lambda表达式");
        };
        Thread t3=new Thread(r);
        t3.start();
    }
}

class MyRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("**自定义接口实现类**");
    }
}